Skip to content

Fix Actions Deployment Errors#60

Merged
cabutlermit merged 3 commits into
mainfrom
temp-gha-fix
Jun 24, 2025
Merged

Fix Actions Deployment Errors#60
cabutlermit merged 3 commits into
mainfrom
temp-gha-fix

Conversation

@cabutlermit
Copy link
Copy Markdown
Contributor

@cabutlermit cabutlermit commented Jun 23, 2025

Developer

Fix the deployment workflows to address the /lib64/libm.so.6: version GLIBC_2.27' not found` errors that started appearing. These started because the runner software that is installed on the host servers is configured for automatic updates from GitHub and as of about a year ago, that software no longer contains the node16 package. It only includes node20 and node20 is not compatible with the version of GLIBC installed on the hosts.

The workaround was to remove the actions/checkout@v3 step and just execute the necessary git commands directly. This removes any dependency on node.js embedded in the GitHub Actions package that is installed under the mitdeploy user on the server.

Tickets affected

Version (see config/theme.ini)

  • [n/a] The theme's version number has been incremented, setting up a production
    deploy.

Documentation

  • Project documentation has been updated.
  • No documentation changes are needed.

Accessibility

  • ANDI or WAVE has been run in accordance to our guide.
  • New flagged issues not already resolved in this PR have been ticketed
    (link in the Pull Request details above).
  • This PR contains no changes to the view layer.

Stakeholder approval

  • Stakeholder approval has been confirmed (see ticket).
  • Stakeholder approval will happen retroactively.
  • Stakeholder approval is not needed.

Dependencies

  • New dependencies have been added
  • Dependencies have been updated
  • No dependencies have changed

Additional context needed to review

E.g., if the PR includes updated dependencies and/or data
migration, or how to confirm the feature is working.

Code Reviewer

Code
  • I have confirmed that the code works as intended.
  • Any CodeClimate issues have been fixed or confirmed as
    added technical debt.
  • New dependencies are appropriate or there were no changes.
Documentation
  • The commit message is clear and follows our guidelines
    (not just this pull request message).
  • The documentation has been updated or is unnecessary.

Why these changes are being introduced:
The Omeka hosts are running Amazon Linux 2, which is build on CentOS 7
which is no longer on the GHA compatibility list. The shift to node20
(from node16) for all GHA runs requires newer versions of the glibc
libraries that are not available for AL2. This means that our automated
deployment workflows that use the Omeka hosts as our self-hosted GHA
runners will now fail to run because of the glibc dependency.

How this addresses that need:
* This is an attempt to override the requirement for a newer version of
glibc

Side effects of this change:
None.

Relevant ticket(s):
* https://mitlibraries.atlassian.net/browse/IN-1327
This explicitly tries to force node16
Why these changes are being introduced:
The hosts running the GitHub actions are running Amazon Linux 2 which
is no longer on the supported host OS list for self-hosted GitHub
runners. Since the actions-runner on the hosts is configured to
auto-update, it not longer has node16 embedded and node20 cannot run on
AL2 (because the host OS does not have an up-to-date-enough version of
the glibc library).

The only thing in the workflow that requires node20 is the
actions/checkout command. So, instead of using actions/checkout, we just
run the very short list of git commands that we need to checkout the
correct commit to run the simple deploy command.

We update the manual workflow, the staging workflow (for pushes to the
main branch) and the production workflow (for tagged releases on the
main branch).

How this addresses that need:
* Remove the actions/checkout@v3 step in all three workflows
* Create new steps for the necessary git commands to clone the repo and
checkout the correct commit

Side effects of this change:
None.

Relevant ticket(s):
* https://mitlibraries.atlassian.net/browse/IN-1327
@cabutlermit cabutlermit marked this pull request as ready for review June 23, 2025 18:26
@cabutlermit cabutlermit requested review from a team as code owners June 23, 2025 18:26
Copy link
Copy Markdown

@vab vab left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ugly growl. lgtm. Not the first time I have seen GLIBC issues, and probably not the last.

Copy link
Copy Markdown
Member

@matt-bernhardt matt-bernhardt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see the actions having succeeded, which is the litmus test for me. The workaround seems fine, although I'll look forward to the day when it isn't needed anymore (even if we just decide to do things this way going forward)

@cabutlermit cabutlermit merged commit bacc6d1 into main Jun 24, 2025
5 checks passed
@cabutlermit cabutlermit deleted the temp-gha-fix branch June 25, 2025 18:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants